#ifndef ENTITTY_H
#define ENTITTY_H

#include <Box2D/Box2D.h>
#include "../../sleek/node/billboard/billboard.h"
#include "../loader/b2dJson.h"

enum EntityType
{
    EET_ENTITY,
    EET_PLAYER,
    EET_SPRITE,
    EET_WARP,
    EET_COUNT
};
class Entity : public sleek::core::device::event
{
    public:
        Entity(sleek::core::engine::engine*, sleek::core::os::stringc);
        ~Entity();

        virtual void update(b2Vec2, float);
        virtual void setPosition(sleek::core::math::vector2df);
        virtual void setRotation(float);

        virtual sleek::texture::texture* getTexture();
        virtual bool manage(sleek::core::device::input*){ return false; }
        virtual void render() {};

        sleek::core::os::stringc path;
        virtual Json::Value save();
        int type;
    public:
        b2Body     *phy;
        b2Fixture  *fix;
        sleek::node::billboard::Billboard*	env;
    protected:
        sleek::texture::texture *text;
        Entity();
};

#endif

